{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "2ab08aeb-9a2c-4fdb-8b1a-ade1fa50cd9c",
   "metadata": {},
   "source": [
    "# 第1章 深度学习环境搭建"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "737c41ac-73aa-4044-b5d9-5976f108f89f",
   "metadata": {},
   "source": [
    "## 1.4　动手练习：每日最高温度预测"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4bc525c1-2525-4a0a-956f-806f775a9a64",
   "metadata": {},
   "source": [
    "### 导入Python中相关的第三方库"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "d97aabe7-8321-4bff-848b-98ed1e384381",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\wuduanwang\\AppData\\Local\\Temp\\ipykernel_18224\\1163898528.py:3: DeprecationWarning: \n",
      "Pyarrow will become a required dependency of pandas in the next major release of pandas (pandas 3.0),\n",
      "(to allow more performant data types, such as the Arrow string type, and better interoperability with other libraries)\n",
      "but was not found to be installed on your system.\n",
      "If this would cause problems for you,\n",
      "please provide us feedback at https://github.com/pandas-dev/pandas/issues/54466\n",
      "        \n",
      "  import pandas as pd\n"
     ]
    }
   ],
   "source": [
    "import torch\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import datetime\n",
    "import matplotlib\n",
    "import matplotlib.pyplot as plt\n",
    "from matplotlib.pyplot import MultipleLocator\n",
    "from sklearn import preprocessing"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8e25a47d-b950-4fa8-b41a-f750838e27ca",
   "metadata": {},
   "source": [
    "### 读取本地离线文件数据源数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "61b151c7-30a9-4b29-94c1-c35bb8a663eb",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([30, 32, 34, 30, 30, 31, 36, 38, 30, 35, 31, 34, 34, 35, 37, 35, 30,\n",
       "       33, 34, 34, 35, 34, 33, 31, 27, 29, 31, 31, 30, 33], dtype=int64)"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "features=pd.read_csv(\"data/temps.csv\")\n",
    "#标签，要预测的温度的真实值\n",
    "labels=np.array(features[\"actual\"])\n",
    "labels"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "73e750f9-7bb4-4f63-a154-9148d9514646",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>year</th>\n",
       "      <th>month</th>\n",
       "      <th>day</th>\n",
       "      <th>temp_2</th>\n",
       "      <th>temp_1</th>\n",
       "      <th>average</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2021</td>\n",
       "      <td>6</td>\n",
       "      <td>1</td>\n",
       "      <td>30</td>\n",
       "      <td>29</td>\n",
       "      <td>31.67</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2021</td>\n",
       "      <td>6</td>\n",
       "      <td>2</td>\n",
       "      <td>29</td>\n",
       "      <td>30</td>\n",
       "      <td>30.33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2021</td>\n",
       "      <td>6</td>\n",
       "      <td>3</td>\n",
       "      <td>30</td>\n",
       "      <td>32</td>\n",
       "      <td>31.33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2021</td>\n",
       "      <td>6</td>\n",
       "      <td>4</td>\n",
       "      <td>32</td>\n",
       "      <td>34</td>\n",
       "      <td>31.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2021</td>\n",
       "      <td>6</td>\n",
       "      <td>5</td>\n",
       "      <td>34</td>\n",
       "      <td>30</td>\n",
       "      <td>32.67</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   year  month  day  temp_2  temp_1  average\n",
       "0  2021      6    1      30      29    31.67\n",
       "1  2021      6    2      29      30    30.33\n",
       "2  2021      6    3      30      32    31.33\n",
       "3  2021      6    4      32      34    31.00\n",
       "4  2021      6    5      34      30    32.67"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#在特征中去掉标签\n",
    "features=features.drop(\"actual\",axis=1)\n",
    "features.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "9a194d21-0c4f-4e55-8188-09d0d771d7dd",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['year', 'month', 'day', 'temp_2', 'temp_1', 'average']"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#训练集每列名字单独保存，留备用\n",
    "feature_list=list(features.columns)\n",
    "feature_list"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "260b65db-2a18-4fa1-90d1-3203b1ca7a38",
   "metadata": {},
   "source": [
    "### 为了提升模型的准确率，首先需要对数据进行格式转换与标准化处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "ce05cd49-f546-421c-83a6-25defa35f6ec",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 0.        ,  0.        , -1.67524673, -0.93003064, -1.31223501,\n",
       "        -0.14765279],\n",
       "       [ 0.        ,  0.        , -1.55971247, -1.31223501, -0.93003064,\n",
       "        -0.79073426],\n",
       "       [ 0.        ,  0.        , -1.44417822, -0.93003064, -0.16562189,\n",
       "        -0.31082271],\n",
       "       [ 0.        ,  0.        , -1.32864396, -0.16562189,  0.59878685,\n",
       "        -0.46919352],\n",
       "       [ 0.        ,  0.        , -1.2131097 ,  0.59878685, -0.93003064,\n",
       "         0.33225876],\n",
       "       [ 0.        ,  0.        , -1.09757545, -0.93003064, -0.93003064,\n",
       "        -2.23046889],\n",
       "       [ 0.        ,  0.        , -0.98204119, -0.93003064, -0.54782627,\n",
       "        -0.14765279],\n",
       "       [ 0.        ,  0.        , -0.86650693, -0.54782627,  1.36319559,\n",
       "         0.64900038],\n",
       "       [ 0.        ,  0.        , -0.75097267,  1.36319559,  2.12760434,\n",
       "        -0.79073426],\n",
       "       [ 0.        ,  0.        , -0.63543842,  2.12760434, -0.93003064,\n",
       "        -0.94910506],\n",
       "       [ 0.        ,  0.        , -0.51990416, -0.93003064,  0.98099122,\n",
       "        -0.62756433],\n",
       "       [ 0.        ,  0.        , -0.4043699 ,  0.98099122, -0.54782627,\n",
       "        -0.62756433],\n",
       "       [ 0.        ,  0.        , -0.28883564, -0.54782627,  0.59878685,\n",
       "        -1.75055734],\n",
       "       [ 0.        ,  0.        , -0.17330139,  0.59878685,  0.59878685,\n",
       "         0.97054111],\n",
       "       [ 0.        ,  0.        , -0.05776713,  0.59878685,  0.98099122,\n",
       "         0.8121703 ],\n",
       "       [ 0.        ,  0.        ,  0.05776713,  0.98099122,  1.74539996,\n",
       "        -0.94910506],\n",
       "       [ 0.        ,  0.        ,  0.17330139,  1.74539996,  0.98099122,\n",
       "        -0.62756433],\n",
       "       [ 0.        ,  0.        ,  0.28883564,  0.98099122, -0.93003064,\n",
       "         0.33225876],\n",
       "       [ 0.        ,  0.        ,  0.4043699 , -0.93003064,  0.21658248,\n",
       "        -0.31082271],\n",
       "       [ 0.        ,  0.        ,  0.51990416,  0.21658248,  0.59878685,\n",
       "         1.12891192],\n",
       "       [ 0.        ,  0.        ,  0.63543842,  0.59878685,  0.59878685,\n",
       "         0.16908883],\n",
       "       [ 0.        ,  0.        ,  0.75097267,  0.59878685,  0.98099122,\n",
       "        -1.42901661],\n",
       "       [ 0.        ,  0.        ,  0.86650693,  0.98099122,  0.59878685,\n",
       "        -0.46919352],\n",
       "       [ 0.        ,  0.        ,  0.98204119,  0.59878685,  0.21658248,\n",
       "         0.49062957],\n",
       "       [ 0.        ,  0.        ,  1.09757545,  0.21658248, -0.54782627,\n",
       "         0.49062957],\n",
       "       [ 0.        ,  0.        ,  1.2131097 , -0.54782627, -2.07664375,\n",
       "         1.45045266],\n",
       "       [ 0.        ,  0.        ,  1.32864396, -2.07664375, -1.31223501,\n",
       "         1.45045266],\n",
       "       [ 0.        ,  0.        ,  1.44417822, -1.31223501, -0.54782627,\n",
       "         0.97054111],\n",
       "       [ 0.        ,  0.        ,  1.55971247, -0.54782627, -0.54782627,\n",
       "         1.9303642 ],\n",
       "       [ 0.        ,  0.        ,  1.67524673, -0.54782627, -0.93003064,\n",
       "         1.45045266]])"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#转换成合适的格式\n",
    "features=np.array(features)\n",
    "input_features=preprocessing.StandardScaler().fit_transform(features)\n",
    "input_features"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cff8da43-4163-4104-b93c-0f7a1d5af54f",
   "metadata": {},
   "source": [
    "### 设置神经网络模型的网络结构"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "56ed8bd4-6bdc-4473-b449-b018121d6706",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "6"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#设置网络模型\n",
    "input_size=input_features.shape[1]\n",
    "input_size"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "9770e633-6b03-4139-995b-aa19a0058f4a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Sequential(\n",
       "  (0): Linear(in_features=6, out_features=128, bias=True)\n",
       "  (1): Sigmoid()\n",
       "  (2): Linear(in_features=128, out_features=1, bias=True)\n",
       ")"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "hidden_size=128\n",
    "output_size=1\n",
    "batch_size=16\n",
    "my_nn=torch.nn.Sequential(\n",
    "    torch.nn.Linear(input_size,hidden_size),\n",
    "    torch.nn.Sigmoid(),\n",
    "    torch.nn.Linear(hidden_size,output_size)\n",
    ")\n",
    "my_nn"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dcfb517f-e1ef-42e2-8170-e329b992a74c",
   "metadata": {},
   "source": [
    "### 定义神经网络模型的损失函数与优化器"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "341fdbf5-89d8-489b-85b2-4eed55ab2686",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Adam (\n",
       "Parameter Group 0\n",
       "    amsgrad: False\n",
       "    betas: (0.9, 0.999)\n",
       "    capturable: False\n",
       "    differentiable: False\n",
       "    eps: 1e-08\n",
       "    foreach: None\n",
       "    fused: None\n",
       "    lr: 0.001\n",
       "    maximize: False\n",
       "    weight_decay: 0\n",
       ")"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cost=torch.nn.MSELoss(reduction='mean')\n",
    "optimizer=torch.optim.Adam(my_nn.parameters(),lr=0.001)\n",
    "optimizer"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1e76e594-9c0e-490f-8959-43254a74b068",
   "metadata": {},
   "source": [
    "### 训练神经网络模型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "14e76b87-c393-4a33-92ef-b11fe822c9ef",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0 1052.6799 [array(1102.112, dtype=float32), array(1003.24786, dtype=float32)]\n",
      "100 378.13422 [array(411.03668, dtype=float32), array(345.23175, dtype=float32)]\n",
      "200 70.321266 [array(84.623276, dtype=float32), array(56.019257, dtype=float32)]\n",
      "300 10.403261 [array(13.992711, dtype=float32), array(6.813811, dtype=float32)]\n",
      "400 6.1942873 [array(7.4270687, dtype=float32), array(4.961506, dtype=float32)]\n"
     ]
    }
   ],
   "source": [
    "losses=[]\n",
    "for i in range(500):\n",
    "    batch_loss=[]\n",
    "    #MINI-Batch方法来进行训练\n",
    "    for start in range(0,len(input_features),batch_size):\n",
    "        end=start+batch_size if start+batch_size<len(input_features) else len(input_features)\n",
    "        xx=torch.tensor(input_features[start:end],dtype=torch.float,requires_grad=True)\n",
    "        yy=torch.tensor(labels[start:end],dtype=torch.float,requires_grad=True)\n",
    "        prediction=my_nn(xx)\n",
    "        loss=cost(prediction,yy)\n",
    "        optimizer.zero_grad()\n",
    "        loss.backward(retain_graph=True)\n",
    "        # 所有optimizer都实现了step()方法，它会更新所有的参数\n",
    "        optimizer.step()\n",
    "        batch_loss.append(loss.data.numpy())\n",
    "\n",
    "    #打印损失，每100轮打印一次\n",
    "    if i % 100==0:\n",
    "        losses.append(np.mean(batch_loss))\n",
    "        print(i,np.mean(batch_loss),batch_loss)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "c14d4786-ae2f-4f5a-b3e1-48525ea57f8a",
   "metadata": {},
   "outputs": [],
   "source": [
    "x=torch.tensor(input_features,dtype=torch.float)\n",
    "predict=my_nn(x).data.numpy()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4397a8f6-0fba-44be-8e2a-c808801821b9",
   "metadata": {},
   "source": [
    "### 转换数据集中的日期格式"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "07ac73f3-33ba-4303-8fe7-7cfea93b37ea",
   "metadata": {},
   "outputs": [],
   "source": [
    "#转换日期格式\n",
    "months=features[:,feature_list.index('month')]\n",
    "days=features[:,feature_list.index(\"day\")]\n",
    "years=features[:,feature_list.index(\"year\")]\n",
    "dates=[str(int(year))+\"-\"+str(int(month))+\"-\"+str(int(day)) for year,month,day in zip(years,months,days)]\n",
    "dates=[datetime.datetime.strptime(date,\"%Y-%m-%d\") for date in dates]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "f8c3f3fe-0e05-424c-9669-290fc4865f9e",
   "metadata": {},
   "outputs": [],
   "source": [
    "#创建一个表格来存日期和其对应的标签数值\n",
    "true_data=pd.DataFrame(data={\"date\":dates,\"actual\":labels})\n",
    "#同理，再创建一个来存日期和其对应的模型预测值\n",
    "test_dates=[str(int(year))+\"-\"+str(int(month))+\"-\"+str(int(day)) for year,month,day in zip(years,months,days)]\n",
    "test_dates=[datetime.datetime.strptime(date,\"%Y-%m-%d\") for date in test_dates]\n",
    "predictions_data=pd.DataFrame(data={\"date\":test_dates,'prediction':predict.reshape(-1)})"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7dc6de43-3f0d-45a2-ae26-870e19b95ce3",
   "metadata": {},
   "source": [
    "### 使用Matplotlib库绘制日最高温度的散点图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "e12acd09-d2ad-45fd-8aba-6db0a0f092d9",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\wuduanwang\\AppData\\Local\\Temp\\ipykernel_18224\\1027042090.py:8: UserWarning: marker is redundantly defined by the 'marker' keyword argument and the fmt string \"r+\" (-> marker='+'). The keyword argument will take precedence.\n",
      "  plt.plot(predictions_data[\"date\"],predictions_data[\"prediction\"],\"r+\",label=\"预测值\",marker=\"o\")\n"
     ]
    },
    {
     "data": {
      "image/png": "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FizQmDFjKr1WIAu5gMTlcmn06NHav3+/4uPj9c4773hv0PKsWbNGkmRZljZt2qQ5c+Zo69atSk9PV5MmTXTmmWdq2LBhGj9+vGJjY+vjZQAAAAAAAAAAJL388st6+eWXyzz2xBNP6O6775YkTZ06VRMnTlRkZKT+85//lGq7adMmb0AyY8YMDRw4sFp1tG/fXitWrNCNN96oDz/8UG+++abCwsIUExMjSRo0aJBeeeWVUuft2rVL7du3l/TLKJF//vOfuu6667x19ejRo1q1SNKDDz7o3fa8Bygp5AKShx9+WJ9++qkk6cUXX1SnTp0qPccTkNi2rb/+9a8ljh08eFAHDx7U0qVLNXPmTC1evFg9e/as+8IBAAAAAAAAoCzZ2VJampSVJcXHS926SRWMRAhmW7duVadOnRQeHq5nnnlGd999tyzL0jPPPFPptFo7duyQ5B6Rcv7559fo+WNiYrRo0SJt375dHTp0kKRqrWntGbVRk/VGilu2bJmWLVsmSercubMGDBggSZo9e7Yef/xxxcbGKioqSmFhYQoLC5Mkffrpp7r66qsluQOiO+64o9R1CwsLVVhYqMzMTLVo0aLadQWakApIVqxYoQceeECSNGnSJO9/7MqsWrXKu3355Zdr4sSJOvvssxUfH6/vvvtOzz33nObPn689e/Zo8ODB2rJli371q19Vua6UlJRyjx04cEDJyclVvhYAAAAAAACAEJGWJqWmSgsWuEMSj7g4aexYaeJEd1gSIl577TXddNNN6tq1q37/+9/r//7v/yRJTz31VJXWHPnyyy8lSd26dVN8fHytaqnoF/O//vprrVixQqeffnq5v2xffDqt4muPVNW9997r3b7pppu8223bti33nJycnBLtEhMTy23bsmXLatcUiEImIDl06JB33ZHzzz9fTzzxRJXOO378uFq2bCnbtnXLLbeUGkHSs2dP9ezZU7/+9a81ZcoUHTlyRA899JCeeeYZX7wMAAAAAAAAAJDmzJHuvFOy7dLHsrOl556T5s6VZs+Wpkyp//r84LzzzlObNm20efNmbd68WZJ7aqnbb7+9zPa/+tWvlJ+f7/17bm6uJGnbtm3lhgMdO3bUxo0bS+0vLCys0sLpkuRwODTl5/8mzz33nAYNGlSqTfFrVWcEiuReP+SLL77w/r2qIz3S09OrfY7pQiIg8aw7cvDg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rvr0008P0R4AAAAAAAAAAIDCSijpARxKTz75pO6++25FIpF8P8/NzdW0adM0bdo0vf322/rggw+Umpq61/oLFy7U6aefrhUrVng/y8rK0ldffaWvvvpKt99+u/7+978X+34AAAAAAAAAAIDCCcwRJMOGDdMdd9yhSCSiKlWq6NFHH9WsWbP066+/6t1331Xjxo0lSV9//bVuuummvdbPyMjIV46ccsopGjFihN5//31dfPHFknYVMEOHDj10OwUAAAAAAAAAAA6Ks2K6AEcoFJJzTgsWLFDTpk33u+zChQt1zDHHyDm319Ede9qwYYPS0tLknNO6detUrVq1A45l7dq1atKkibZu3aqjjz5aX3/9tWrXrp1vmZUrV6pNmzZavXq1JGnp0qWqX7++d/+FF16o9957T5LUv39/vfjii3LOefcPHjxYzzzzjCpUqKCFCxcqPT39gOOKR2w7GRkZRbI9AAAAAAAAAAAOB4X9/DwQR5A89dRT2rp1q5KTk/X555/vVY5IUp06dXTllVd6f//yyy+929OnT/fKkaZNm+r555/PV45I0iOPPKIqVapox44deu6554ppTwAAAAAAAAAAQFEo9muQfPDBBwUWErtbtWqVd3vEiBH7XTYzM9O7/c4776hSpUre3/v27VvgOq1atdKgQYPUsGHDfEeF7KlOnTre7R07dni333zzTe/2oEGDlJSUtNe6lSpVUv/+/fXkk09q5MiReuKJJ/a7HwAAAAAAAAAAoOQU+ym2DhXnnPLy8gq1jSFDhujpp5+WJL3xxhvq06ePJKlt27b64YcfJO06Fde+Cp9PP/1UPXr0kCStWLEiX+FysDjFFgAAAAAAAAAAeyvs5+fFegRJMXUvxSIajXqn0QqHw+rSpYt33+LFiyVJDRs23O/RMMcff3y+dYqiIAEAAAAAAAAAAEWv2AqSxx57TOFwWAkJCUpMTFQ4HFYoFFI4HFY4HJZzTs45hcNhSfKONnHOecXK7v+NRqOKRqMyM0UiEe9PXl6ecnNzC330yBtvvKFly5ZJki644AKvCMnNzdWWLVskSUcfffR+t1GzZk3v9m+//abTTjstrsfe3wXdV61adcBTlAEAAAAAAAAAAH+KrSC5++67i2vTRW7Dhg26/fbbJUnlypXTY4895t23c+dO73bdunX3u52EhASlpqZq69atWr58efEM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Vq2qzZs3yzmnaDSqunXr6uqrr9bDDz9cwiNFaTBu3DgNHjxY8+fPl7Trg4X+/fvrjDPOUO3atQP7pIyCTZgwQbfccotmz54tSQqFQopGo0pKSlJOTo4aNGigu+66S9ddd10JjxSlxS+//KImTZpIkhYuXKgmTZpQkuCAtm/frvr162vLli2KRCK69tpr9dJLLwX6zSLyK+j1y4033qhwOKwrrrhC6enp+v7771WrVq0SHilK2vfff6+BAwdq2rRpe93XokUL9ejRQ48//ngJjAylRex1yfDhwzV48GBt3rxZHTt2VK9evZSQkKDVq1dr7NixmjlzptLS0nTdddfpkUceKelhoxT58MMP1bt3byUlJem7775Tq1atSnpIKIWmTZumW265RdOnTy/w/mrVqqlXr156+eWXD/HISheOIAFw0GIv6v73v//ppptu0tq1a9W4cWP95S9/UZ06dZSVlaVhw4bp888/14oVKzRq1Ci1a9dO55xzDh9UBdSiRYs0ZMgQffrpp5KkevXq6dprr9UFF1ygxo0bKzExsYRHiNIidlHKl156SXfccYcyMzOVnp6unj17qlGjRmrSpInGjRun4cOHa+nSpfrkk0/UrVs3NWzYsKSHjlJgypQpSkhIUF5enm655RZ9+umnPOfggBYsWKCNGzcqKSlJkUhEr7zyigYMGKDjjz9eeXl5SkjgrVNQ/fLLL7r11ls1evRoSX+8funVq5eaN2+u3377TZUqVdKqVau0bt06CpKAW7lype655x5NmzZNtWvX1lVXXaUaNWrIzPT000/r559/1ty5cxWNRtWvXz81bdqU90YB5JzTihUr9Nxzz2nz5s269NJL9eijjyo9Pd17T9S3b1917NhR69at09SpU7V48WLvCyBArKyvXbu26tSpwzwCTywLn332mW677TYtWLBA6enp6tGjhypWrKjKlSvrjTfeUEZGhjZu3KhXX31VTZs21e233x7cLwYZABTCjh077MwzzzTnnHXs2NFmzJhhZmbRaNTMzDZu3Gj333+/OeesfPnydsMNN9jOnTtLcsgoIdnZ2Xb66aebc87KlStnAwcOtAkTJti2bdtKemgopX777Tdr3bq1JSYm2iWXXGLjx4+3tWvXevdv377d7r77bnPOWUpKiv38888lOFqUBrm5uWZmNmjQIHPOWUJCgjnnbMyYMWZmFolESnJ4KOW++OILq1ChgjnnrEaNGuacs06dOpX0sFCCsrOz7bbbbjPnnPf65frrr7dJkyZZZmamt9zYsWPNOWeNGjWylStXluCIUZLy8vLMzOzxxx/3MvPPf/7TNm7c6C0zc+ZMu+eee7zXLtdee61t2bLFzHiOCqIXXnjBnHNWq1Yt++677/LdF3tN87e//c2cc1apUiVbvHhxSQwTpUzss5b77rvPQqGQpaWl2erVq0t4VChttm3bZmeffbaFQiE75ZRT7Msvv7QNGzZ4969cudKbX2KvcdasWWNmf2QsSAJYCQEoShMnTtTYsWMlSX369PEO64x9c6Fq1arq06ePGjVqpJ07dyojI0MSFyYMolAopC5duig5OVkpKSm66KKLdMopp6hSpUqS5F1se3dmRlYC7JVXXtHMmTPVqFEj3XrrrTrllFOUlpYmSYpEIipXrpzq1q2rihUrKjMzU4sWLSrhEaOkxb7hP2HCBElS9erVJUlDhgyRpGB+GwoHZP//jMPLli1TVlaWateurX79+qlSpUr69ttvvQufFvQ8hcPXhg0bdOmll+qf//ynJKlHjx56++239eijj6pjx46qWLGit2zDhg2VlJSkpUuXat26dSU1ZJSwcDisaDSqTz75RJLUoUMHXX/99apataq3zPHHH6/HHntMV111lXJzc/XWW2/p2WeflSS++R0gseedJUuWSJJat26tk046Kd8ysdc0jRo1UuXKlb1r8AGxuWLVqlUyM9WtW9e7rhEQ85///EefffaZzEzXX3+9OnfurGrVqknaNQfVrl1bd955p04++WRJuy7gHjvNVhCfj3iXCKBQxo0bJ0k67rjj9nn+/8qVK+uYY46RtKtQ2blzJx9SBVBCQoKaNm2qChUqeBcGk3aVZbufumTdunXasmWLMjIy5JzzsmJcMitwYtcc6datm0444QSFw2HvvlAopFAopEgkou3bt+uoo45Sy5YtJZGVoJswYYJmzpypI444QqeddppSU1O1ePFiPfPMM5J2lWvA7mJvAleuXClJatWqlXr27KkTTjhB0h8FW0JCAvNLgFSvXl3t2rVT586dNXToUD3//PPq2bOnatSosdeyv/32m3Jzc1W3bl1VqFChBEaL0uLnn3/WL7/8IklKT09XxYoV880bseegBx54QL1791ZWVpYeeughTZ8+Xc45nqMCIva8EytUY/NKQVnZsWOHtmzZoiOPPFItWrQ4xCNFaRWNRvXrr79KkqpUqaLc3FxJUmZmpjZt2qSffvpJixcv1qpVq5STk1OSQ8UhZmbKycnRl19+KUk67bTT1KdPn3yfwTnnvC/+3H///ZJ2vb9es2ZNYPPCJ5QADkrsxdv69eslSUcffXS+n++uVq1a3lEA6enpyszM5AOGgIn9vs844wxVrFhRmzdv1qJFi5SZmalQKKSEhAStWrVKd9xxhy699FJ16tRJLVu2VM+ePfX0009zPtUA2rhxoxYvXiznnJKTk7V9+3ZJu94MRCIROee0du1avfvuu5Kktm3bql69esrLyyMrAZaTk6PXX39dknTHHXfo/vvv9wr6e+65R5s3b1Y4HOY5CPnE8rB27VpJUmJiojp27KjzzjtPRxxxhJYvX65HH31UEkfABkXs93zddddp2LBh6t+/v+rXr7/XF3xi2WnUqJHKly+vjIwML0cIpnLlymnNmjWS5D3/7F56xL7sUb9+fV111VU6+eSTFY1GddNNN+W7H2VbPM8Vubm53mvWvLw8ZWZmen83My8LkyZNkiS1bNlSRxxxBK9hoEgkolAo5OWscuXKSkpK0tdff6377rtPp59+ulq0aKG2bdvqhBNO0BVXXOF98QyHP+ec1q1bp1mzZikUCqlOnTrKycnZa16KffGnbdu2atOmjaLRqH755RclJSWV0MhLFgUJgIMSe/G2bds2SVJqaqrC4fBeH0zGWuk6depI2nW6gpSUFD7ADJjYN+JSUlJ0xRVXSJI+++wz7/RaTz/9tBo1aqR//OMf+uabbzR79mxt2rRJY8aM0a233qqBAwdq1qxZkvhwKgjMTNWqVdNxxx0nM9PUqVM1Y8YMSbu+2RIOh5WZmamHH35YU6dO9Y4+GjBggPr27av3339fq1atksTRAkGzfPlyffDBB0pJSVHbtm3VvHlznXnmmapVq5Z27typu+66SxJHGSG/2GuS77//XpLUpk0bSbtK/U6dOkna9W3v1atXKxwOKxKJ8Fx0mIsVIVWrVtWRRx6p5OTkApeLZWfjxo0qX768qlevHthvXgbF5s2blZ2dvc/XF+vXr1etWrUkSVOmTJH0x6mSYmLPQaeeeqouvvhiValSRT/88IP+9a9/FePIcSjEnhtic8i+8mJmSkxMVP369VW3bl316tXLe18k7ZpbzEzDhg3T8OHDvW0+++yz+vjjj70jB3Z/TJR9B5pfYsLhsNatW+edcq1WrVoaPny4+vXrp+eff147duzQUUcdpQoVKmjDhg0aNWqUrr76av33v/+VxPujw8X+8lKuXDmlpaUpGo1qw4YNSkpKKvAzuNhcs2rVKoVCIa1atUpbtmw5FMMvdRIOvAiAIBo3bpx++eUXlS9fXk2bNtWf/vQnpaSkSNr1Iiz2jYXzzjtPNWvW1KmnnipJe33TP/aG4Pfff5ckHXXUUUpNTc13SiWUffHkJfYtqFNOOUUvvfSSFi5cqFdeeUW//PKLnnjiCUnS//3f/6lHjx7asWOHFi5c6JUlw4YN0/z58zV27Fjvmw6UbGXXgfIS+93269dPH330kaZMmaJ+/frpsssuU8OGDbVlyxb97W9/876hmZeXp48++khZWVmSpPfff18dOnTQp59+qnLlypXMTqLIjB07VnXr1tWf/vSnAy571FFHqXz58rrooovUsWNHSdJll12mqVOnauzYsXrppZc0YMAAHXfccd7chMOLn7zERCIR5eTkeM9TVapUkbTr6NhzzjlHM2fO1MKFC3X77bfr9ddfz/fNXpRtB5OXgjRt2lTOOa1fv16bN2+WtPdrYpRt7777rl588UWZmZYtW6YOHTqob9++at++vSpVquS9tznqqKOUmZkpSdq6dasWLFjgHUkSE/tAKjk5WWeeeaZ+/PFHDRs2TA888IB69OihBg0alMAeojBipVfsdcXueVm+fLnat2+/V14SExM1aNAgDRkyRKmpqfm2l52drWHDhunJJ5/0vnD4ySefaPTo0ZKkunXr6rrrrtM999zjXfuG1zRl14Hml0gkku91h5nl+9knn3yi4cOHq0OHDnr99dfVoEEDHXnkkVq0aJE++OAD3X333Zo9e7aGDBmi008/XfXr1+c5qgw7UF6kXUfVO+fknNOUKVM0Z86cvd7/RKNRmZm2b9/uXfu1QoUKqly5cknuXskpnmu/Ayir5syZY126dDHnnCUlJZlzzpxzdtJJJ9mTTz651/Jr1661zZs373ebW7dutdNOO82cc3b66acX19BRAvzkJRqNmpnZ7NmzrW3bthYOh+2EE06wihUrWpMmTezzzz/fa/tr1661448/3tvuX/7yFzMzy8vLK/6dQ5HzO7/k5OTYXXfd5S3nnLNy5crl+7tzzlJTU805ZxUqVLCEhAQLhULmnLMBAwZYJBIpgT1FUXnkkUfMOWf33HOP91wTm0v2lJuba2ZmkydPttmzZ+db9qWXXrKjjjrKnHPWuXPnQzBylAQ/ednT+vXr7YgjjjDnnH322Wfez9esWWM33XSTN9/EsjVp0iQbNGiQ7dy5s+h3BIdEYfKyp4yMDGvdurUlJCTY3//+96IcJkrYjBkz7JRTTtnrtYdzzmrWrGnXXnutt2zseahfv37mnLPatWvb2LFjD/gYH3zwgTVq1Micc3bzzTebmfH6pYzaX17S0tLy5WX3+SYvLy/f3yORiJ1zzjnmnLOmTZvaqaeeapdeeqk1adLEUlJSzDln5cuXt7/+9a/e8ih7/Mwvez4/LVmyxJxzlpCQYMnJyXbDDTfY9u3b8y0Ty8W1115rFSpUMOec9enTp/h3DMXCT17MzK6//npzzlnlypVt8ODB3s+j0Wi+z1OGDRtm5cqVs3A4bC1atLCNGzcesn0qTShIAHhPtp9++qnVr1/fnHNWrVo1O+OMM6x9+/ZWo0YNS0hIMOecDRw40GbNmpVvvT23s6cdO3ZYgwYNzDlnt99+e/HuDIrdweZl9yfh888/33syT0pKsnfeeWev7efk5JiZ2fjx461evXreh+PLly/PtxxKt6LIy3PPPWfXXXedtWrVypxzFg6HzTlnKSkpdsMNN9jw4cPt22+/tc8//9zuvvtuq1ixopev8ePHmxlvHMua2O//yiuvNOecHXfccfbll1/63k7s975x40br06ePV7CNGjUq3+OgbCuKvMyaNctSU1OtZs2aNnfu3HzPMZ9++ql16NDBnHPWpk0bGzBggDfHvP3220W6Lyh+RTW/7C4nJ8crYWOFP/NL2RWNRi0nJ8eeeeYZ7zVKrVq17JZbbrFrr73WOnfubOXLl/fmgaefftrMdj3nRKNRGzZsmFWrVs2cc3bHHXd42yzocczMli9fbn379vW298svv3jbQ+l3oLx06tSpwLwcaI6YP3++jRo1yubOnev9bP369fbCCy9420pJSfHeG5GXsuFg55c98zJx4kSrUqWKOecsPT3d5s+fv9djxdZZsmSJNW/e3EKhkFWvXn2fn+eg9DnYvJiZ/frrr9461apVsxEjRuTb9s6dO+3NN9/0vmzonLMOHTp4jxs0FCQAzGzXG7sLLrjAEhMTrWnTpjZy5EhbuXKlmZlNnz7dhgwZYs45S05Otq5du3qtcjwvxObNm+d9oPnmm28W637g0DjYvMS+aTtq1Cjvg+6rr776gE/Affr0MeecJSYm2t/+9rfi3TkUuYPNS3Z2dr7tfPbZZ1a7dm0Lh8OWlpZmzz33nK1evXqvx3vmmWescePG5pyz888/v/h3EMVi69atdsIJJ3gv2G+88UZbsWKF7+3E5pePP/7YWrZsac45q1evXlEPFyWssHmZMWOGOeesUqVK3nqxot7M7OGHH853BFsoFLJzzjnHJk6cWOT7guJXVPOL2a7Xwrm5uXbppZeac87OOOOMIh4tSsLs2bOtefPm5pyziy66yH777TfvvqysLBs6dKiXnzp16tiGDRu8++fOnWtnn322d5RrLFv7e9/0n//8x2rUqGHOObvllluKa7dQTA42L34+hNx92T//+c+WnJzsHQWHsqUweYnlYOrUqd4yF1xwgXf/nmI/ix2VX6NGDXv55ZeLeQ9RlArzfPTkk09691WsWNEuvvhie+ONN2z48OF20003WVpaWr7XtieccIJt2rTp0O9kKUBBAsDMdp2SJDYxDho0KN8L+NiT6p133ml16tQx55z1798/7m2PHTvWypcvb0lJSfbNN98U+dhx6B1sXmL3/frrr96T/FtvvZXvvt3FvvUyfvx47/EefPDBfS6P0qmw80s0GrWdO3faJZdc4m3nuuuus23btuVbJpaXlStX2plnnmmhUMjq1KljS5YsOQR7iaI2ffr0fEcD1apVy9555x3f35CMZSwSidigQYOsatWq5pyzRx991Ps5yr7p06d7p484mLy8+OKL5pyzVq1aWSQSyfdNzS+++MKOPPJIr9hPSkqy1157zTZu3OidUgdlS1HNLzGRSMR69eplzjnr2bOnrV+/vohHjEOtR48eXjZi71/2zEfsVCepqak2fPjwfPc99dRTVrduXe8I2YLWN/vjOWrx4sVeJrt06XLQhR1KRqwQO9i8xCv23LRw4UIvL1dddZXt2LGjcDuAQ6qw84vZrs9YKlWqZM45O+uss/b5WLHMzJ071xITE805Zy+99JKZ8X66rChsXvr372+1atUq8NRcnTp1sjlz5tjpp59uzjnr1q2bmQUzG1zFCYAkadKkSZKk1NRU9e3bV6FQyLvYXDQalSQNHjxYAwYMkCS9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vfXWfPej7Inl5Z577vHycuONN0qKLy+JiYne89L333+v7du3q23btnr55Zc1dOhQnX322apWrZok6bTTTvNez7z//vuaPXv2odhFFKHC5mVfTjzxRDVq1Eg7duzQTz/9xNFFZVjDhg1Vp04dNW7cWEccccQ+l8vMzFT16tXznfZm9w+qU1NTdckll3hHx77wwgt65JFHtHPnznzFqnNOP/74o3744QdJu46arVGjRnHtHopYYfNSkPHjx+ucc87xviQWe4+8Y8cOzZo1S88++6y2bNmik046Sd26dSviPUJxKqq8lC9fXmeeeab3muSVV17RiBEjZGZeXrZv3645c+bo3//+t3799Velpqbq1ltvVfPmzYtxD1GU/OZl95J+X/PL7mdyMDNVrlzZWzccDishISGY5VlxXdwEQNkQu/jSCy+8YM45S0xMtL59++a7OGlBNm7caK1btzbnnPXo0cMWLFhQ4HJPP/20OeesevXq9sknn9iLL75oJ510kndRqKOPPto+/fRTb/kDPS5KVlHnJRKJ2KhRo6xy5cp29tln20cffWRmu3Kwfft2Gz9+vHfBsTPPPNOWLVtWvDuIIlVUeZk3b56ZmW3fvt3atm3rzR9Dhw7Nt96KFSts4MCB3v133323ZWZmBvIic2VV7Hc1a9Ysu/feey0jI8P72apVq+yCCy4w55w1a9bMPvvss4Pe/tatW+3qq6+2ypUrm3PO/vOf/xTdTuCQKaq8bN++3f785z+bc87S0tLsgQcesHnz5ll2dnaBj/f555/bpZdeaqNGjSqmPUNxKO75Zf369XbJJZd4r3s3btyY73FRNkSjUcvNzbXvvvvOlixZss9lzHZdJDn2mmPy5Mn73ObatWutVatW3rK9e/e2Dz/80MzMNm3aZJMmTbI+ffpYOBy2hIQE+8c//pHvcVB6xfIyderUIsvLnDlzrE2bNuacszp16ljPnj3t+eeft+eee84eeeQR7710nTp1bMyYMcWyXygeRT2/RCIR++yzz6xBgwbmnLPKlSvb+eefby+++KINHTrUHnjgATvxxBO97fTs2dN+/fXXYts/FK3ieD4qyLp166xp06bmnLMhQ4bk226QUJAAAReb+LZv32516tQx55x16tTJfvzxxwOu+9prr3mT8CuvvGKRSGSvZbp06WLOOQuHw9atWzdv+fLly9szzzxT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",
      "text/plain": [
       "<Figure size 1920x1120 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#绘制散点图\n",
    "#matplotlib添加本地的支持中文的字体库，默认是英文的无法显示中文\n",
    "matplotlib.rc(\"font\",family=\"SimHei\")\n",
    "plt.figure(figsize=(12,7),dpi=160)\n",
    "#真实值\n",
    "plt.plot(true_data[\"date\"],true_data[\"actual\"],\"b+\",label=\"真实值\")\n",
    "#预测值\n",
    "plt.plot(predictions_data[\"date\"],predictions_data[\"prediction\"],\"r+\",label=\"预测值\",marker=\"o\")\n",
    "plt.xticks(rotation=30,size=15)\n",
    "plt.ylim(0,50)\n",
    "plt.yticks(size=15)\n",
    "\n",
    "x_major_locator=MultipleLocator(3)\n",
    "y_major_locator=MultipleLocator(5)\n",
    "ax=plt.gca()\n",
    "ax.xaxis.set_major_locator(x_major_locator)\n",
    "ax.yaxis.set_major_locator(y_major_locator)\n",
    "plt.legend(fontsize=15)\n",
    "plt.ylabel('日最高温度',size=15)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e730744a-b735-403b-a772-1c33bfbf4f4b",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
